import 'package:get/get.dart';

import '../modules/company_search/company_search_binding.dart';
import '../modules/company_search/company_search_view.dart';
import '../modules/discovery/discovery_binding.dart';
import '../modules/discovery/discovery_view.dart';
import '../modules/forget_password/forget_password_binding.dart';
import '../modules/forget_password/forget_password_view.dart';
import '../modules/home/home_binding.dart';
import '../modules/home/home_view.dart';
import '../modules/login/login_binding.dart';
import '../modules/login/login_view.dart';
import '../modules/mine/mine_binding.dart';
import '../modules/mine/mine_view.dart';
import '../modules/navigation/navigation_binding.dart';
import '../modules/navigation/navigation_view.dart';
import '../modules/not_found/not_found_binding.dart';
import '../modules/not_found/not_found_view.dart';
import '../modules/open_source/open_source_binding.dart';
import '../modules/open_source/open_source_view.dart';
import '../modules/productions/productions_binding.dart';
import '../modules/productions/productions_view.dart';
import '../modules/productions_publish/productions_publish_binding.dart';
import '../modules/productions_publish/productions_publish_view.dart';
import '../modules/register/register_binding.dart';
import '../modules/register/register_view.dart';
import '../modules/resume/resume_binding.dart';
import '../modules/resume/resume_view.dart';
import '../modules/resume_publish/resume_publish_binding.dart';
import '../modules/resume_publish/resume_publish_view.dart';
import '../modules/room_detail/room_detail_binding.dart';
import '../modules/room_detail/room_detail_view.dart';
import '../modules/search_page/search_page_binding.dart';
import '../modules/search_page/search_page_view.dart';
import '../modules/setting_page/setting_page_binding.dart';
import '../modules/setting_page/setting_page_view.dart';
import '../modules/tabs/tabs_binding.dart';
import '../modules/tabs/tabs_view.dart';
import '../modules/user_profile/user_profile_binding.dart';
import '../modules/user_profile/user_profile_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.TABS;

  static final routes = [
    GetPage(
      name: _Paths.HOME,
      page: () => const HomeView(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: _Paths.LOGIN,
      page: () => const LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.NOT_FOUND,
      page: () => const NotFoundView(),
      binding: NotFoundBinding(),
    ),
    GetPage(
      name: _Paths.ROOM_DETAIL,
      page: () => RoomDetailView(),
      binding: RoomDetailBinding(),
    ),
    GetPage(
      name: _Paths.REGISTER,
      page: () => const RegisterView(),
      binding: RegisterBinding(),
    ),
    GetPage(
      name: _Paths.FORGET_PASSWORD,
      page: () => const ForgetPasswordView(),
      binding: ForgetPasswordBinding(),
    ),
    GetPage(
      name: _Paths.TABS,
      page: () => TabsView(),
      binding: TabsBinding(),
    ),
    GetPage(
      name: _Paths.NAVIGATION,
      page: () => const NavigationView(),
      binding: NavigationBinding(),
    ),
    GetPage(
      name: _Paths.DISCOVERY,
      page: () => const DiscoveryView(),
      binding: DiscoveryBinding(),
    ),
    GetPage(
      name: _Paths.MINE,
      page: () => const MineView(),
      binding: MineBinding(),
    ),
    GetPage(
      name: _Paths.OPEN_SOURCE,
      page: () => const OpenSourceView(),
      binding: OpenSourceBinding(),
    ),
    GetPage(
      name: _Paths.SEARCH_PAGE,
      page: () => const SearchPageView(),
      binding: SearchPageBinding(),
    ),
    GetPage(
      name: _Paths.PRODUCTIONS,
      page: () => const ProductionsView(),
      binding: ProductionsBinding(),
    ),
    GetPage(
      name: _Paths.SETTING_PAGE,
      page: () => const SettingPageView(),
      binding: SettingPageBinding(),
    ),
    GetPage(
      name: _Paths.USER_PROFILE,
      page: () => const UserProfileView(),
      binding: UserProfileBinding(),
    ),
    GetPage(
      name: _Paths.PRODUCTIONS_PUBLISH,
      page: () => const ProductionsPublishView(),
      binding: ProductionsPublishBinding(),
    ),
    GetPage(
      name: _Paths.RESUME,
      page: () => const ResumeView(),
      binding: ResumeBinding(),
    ),
    GetPage(
      name: _Paths.RESUME_PUBLISH,
      page: () => const ResumePublishView(),
      binding: ResumePublishBinding(),
    ),
    GetPage(
      name: _Paths.COMPANY_SEARCH,
      page: () => const CompanySearchView(),
      binding: CompanySearchBinding(),
    ),
  ];
}
